/*
 * Contexto.h
 *
 *  Created on: 11/06/2013
 *      Author: juan
 */

#ifndef CONTEXTO_H_
#define CONTEXTO_H_

#include <list>
#include <string>
#include "../../Utilidades/Constantes.h"
#include "../Aritmetico/Aritmetico.h"
#include "Caracter.h"

using namespace std;

class Contexto {

private:
	string nombreDelContexto;
	list<Caracter*> * caracteresDelContexto;

public:
	Contexto(string nuevoNombreDelContexto);
	bool tenesCaracter(Caracter * unCaracter);
	void agregarCaracter(Caracter * unCaracter);
	int comprimirCaracter(Caracter * unCaracter, Aritmetico* compresor);
	Caracter * descomprimiCaracter(Aritmetico* compresor);
	Caracter* escape();

	virtual ~Contexto();

};

#endif /* CONTEXTO_H_ */
